package com.sznaner.tool.extend;

import android.annotation.SuppressLint;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.SeekBar;

import com.sznaner.tool.R;


//SeekBar和Viewpager的滑动冲突
//SeekBar放在其他视图中，手指放在 SeekBar 上面不会立即触发滑动操作，要滑动一段距离或者松开手指才行。
//https://www.125la.com/1988.html

public class HorizontalSeekBar extends SeekBar {
    public HorizontalSeekBar(Context context) {
        this(context, null);
    }

    public HorizontalSeekBar(Context context, AttributeSet attrs) {
        this(context, attrs, R.attr.seekBarStyle);
    }

    public HorizontalSeekBar(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        //设置父容器不拦截事件
        getParent().requestDisallowInterceptTouchEvent(true);
        //SeekBar 放在其他视图中，手指放在 SeekBar 上面不会立即触发滑动操作，
        //要滑动一段距离或者松开手指才行
        //测试过，添加如下代码滑动更流畅
        if(event.getAction()==MotionEvent.ACTION_DOWN){
            MotionEvent evup = MotionEvent.obtain(event);
            evup.setAction(MotionEvent.ACTION_MOVE);
            dispatchTouchEvent(evup);
            evup.recycle();
        }
        return super.onTouchEvent(event);
    }
}